package com.codrim.cs.data.rpc.dto.param;

import com.codrim.cs.data.rpc.enums.OfferAccessType;
import com.codrim.cs.data.rpc.enums.SelectGroupByAndOrderBy;

import java.util.List;

import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 广告报表 DTO
 *
 * @author liao.zhang
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class AdvertiserReportParamDTO extends ReportBaseParamDTO {
    private List<Integer> affiliateIds;
    private List<Integer> advertiserIdList;
    private Integer advertiserManagerIdSelected;
    private Integer affiliateManagerSelected;
    private List<Integer> advAdvertiserManagerDepartmentIdListSelected;
    private List<Integer> advAffiliateManagerDepartmentIdListSelected;
    private List<Integer> advAdvertiserManagerIdList;
    private List<Integer> advAffiliateManagerIdList;
    private OfferAccessType accessType;

    public enum AdvertiserOfferReportGroupByField {
        Sdate,
        Customer,
        Affiliate,
        Offer,
        AffiliateSource,
        AdvAdvertiserManager,
        AdvAffiliateManager,
        Sub1,
        Sub2,
        Sub3,
        Sub4,
        Sub5,
    }


    public enum AdvertiserOfferReportField implements SelectGroupByAndOrderBy {
        Sdate,
        Customer,
        Affiliate,
        Offer,
        AffiliateSource,
        AdvAdvertiserManager,
        AdvAffiliateManager,
        Sub1,
        Sub2,
        Sub3,
        Sub4,
        Sub5,
        Clicks,
        UniqueClicks,
        GrossConversions,
        Revenue,
        Cost,
        Conversions,
        ScrubbedConversions,
        Caps,
        AccessType
    }
}

